package cz.fit.dpo.task1;

import java.util.List;

import cz.fit.dpo.task1.utils.Tuple;

public abstract class World {

	/**
	 * name of this world
	 */
	protected String name;

	/**
	 * where player starts in this world
	 */
	protected String playerStartsIn;

	/**
	 * what rooms are in this world
	 */
	protected List<String> rooms;

	/**
	 * where are doors in this world
	 */
	protected List<Tuple<String, String>> doors;

	/**
	 * what items are in this world
	 */
	protected List<Tuple<String, String>> items;

	/**
	 * winning conditions of this world
	 */
	protected List<String> winningConditions;

	/**
	 * key word that you can't move an object
	 */
	public static final String UNMOVABLE = " UNMOVABLE";
	
	/**
	 * gets the name of the world
	 */
	public String getName() {
		return name;
	}
	
	/**
	 * gets where player starts
	 */
	public String getPlayerStartsIn() {
		return playerStartsIn;
	}
	
	/**
	 * gets rooms
	 */
	public List<String> getRooms() {
		return rooms;
	}
	
	/**
	 * gets doors
	 */
	public List<Tuple<String, String>> getDoors() {
		return doors;
	}
	
	/**
	 * gets items
	 */
	public List<Tuple<String, String>> getItems() {
		return items;
	}
	
	/**
	 * gets winning conditions
	 */
	public List<String> getWinningConditions() {
		return winningConditions;
	}
	
}
